package com.ymatou.iapi.trading.operate.service;

import java.util.ArrayList;

import org.json.JSONObject;

import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.ymatou.iapi.trading.operate.parameter.resp.CancelOrderResult;
import com.ymt.base.YmatouBaseCall;
import com.ymttest.utils.EnvSetup;

/**
 * 批量取消订单Call FreeMaker Template自动生成代码
 */
public class BatchCancelOrderCall extends YmatouBaseCall {
    private static String opurl = "api/Buyer/BatchCancelOrder";

    public BatchCancelOrderCall() {
        super(EnvSetup.getSystemUrl("operate_iapi"), opurl, "POST", "JSON");
    }

    @Override
    public void addDefHeader() {
        client.addHeader("Accept", "text/xml,text/javascript,text/html,application/json");
        client.addHeader("Content-Type", "application/json; charset=UTF-8");
    }

    /**
     * 获取Code
     * 
     * @return
     */
    public String getCode() {
        String Code = null;
        try {
            Code = new JSONObject(getReturnData()).getString("code");
        } catch (Exception e) {
            e.printStackTrace();
        }
        return Code;
    }

    /**
     * 获取BCode
     * 
     * @return
     */
    public String getBCode() {
        String BCode = null;
        try {
            BCode = new JSONObject(getReturnData()).getString("bcode");
        } catch (Exception e) {
            e.printStackTrace();
        }
        return BCode;
    }

    /**
     * 获取Msg
     * 
     * @return
     */
    public String getMsg() {
        String BCode = null;
        try {
            BCode = new JSONObject(getReturnData()).getString("msg");
        } catch (Exception e) {
            e.printStackTrace();
        }
        return BCode;
    }

    /**
     * 获取Data
     * 
     * @return
     */
    public JSONObject getData() {
        JSONObject Data = null;
        try {
            Data = new JSONObject(getReturnData()).getJSONObject("data");
        } catch (Exception e) {
            e.printStackTrace();
        }
        return Data;
    }

    /**
     * 获取订单取消结果
     * 
     * @return
     */
    public ArrayList<CancelOrderResult> getCancelOrderResultList() {
        ArrayList<CancelOrderResult> list = new ArrayList<CancelOrderResult>();
        try {
            String rd = getData().getString("cancelOrderResultList");
            Gson gson = new Gson();
            list = gson.fromJson(rd, new TypeToken<ArrayList<CancelOrderResult>>() {}.getType());
        } catch (Exception e) {
            e.printStackTrace();
        }
        return list;
    }
}
